package main

import "fmt"

// 结构体中遇到的问题

type myInt uint16

// 给自定义类型添加方法
func (i myInt) say() {
	fmt.Println("type is a uint16")
}

func main() {
	// 问题1. myInt(20) 是个什么
	// var i int32 = 100
	// var i = int32(100)
	i := int32(100)               // 强制类型转换
	fmt.Printf("i type: %T\n", i) // i type: int32

	var x = myInt(20)
	x.say()

	// 问题2. struct初始化
	type person struct {
		name, age string
	}

	var p = person{name: "王某", age: "男"}
	fmt.Printf("p: %v\n", p)

	// 问题3. 为什么要有构造函数
	// 重复代码的封装

}
